package com.ssy.lingxi.order.service.mobile;

import com.ssy.lingxi.common.response.PageData;
import com.ssy.lingxi.common.response.Wrapper;
import com.ssy.lingxi.order.model.vo.basic.request.OrderIdVO;
import com.ssy.lingxi.order.model.vo.basic.response.OrderRuleVO;
import com.ssy.lingxi.order.model.vo.common.request.OrderProductHistoryVO;
import com.ssy.lingxi.order.model.vo.common.response.MobileOrderProductHistoryQueryVO;
import com.ssy.lingxi.order.model.vo.common.response.OrderAfterSalePaymentDetailVO;
import com.ssy.lingxi.order.model.vo.mobile.request.MobileOrderAfterSaleVO;
import com.ssy.lingxi.order.model.vo.mobile.response.MobileAfterSalePageQueryVO;
import org.springframework.http.HttpHeaders;

import java.util.List;

/**
 * App - 订单其他相关接口
 * @author 万宁
 * @version 2.0.0
 * @date 2021-09-26
 */
public interface IMobileOrderCommonService {
    /**
     * “商品详情” - 分页查询商品交易记录
     * @param headers Http头部信息
     * @param historyVO 接口参数
     * @return 查询结果
     */
    Wrapper<PageData<MobileOrderProductHistoryQueryVO>> pageOrderProductHistories(HttpHeaders headers, OrderProductHistoryVO historyVO);

    /**
     * “申请售后” - 查询订单商品信息
     * @param headers Http头部信息
     * @param afterSaleVO 接口参数
     * @return 查询结果
     */
    Wrapper<MobileAfterSalePageQueryVO> findAfterSaleOrder(HttpHeaders headers, MobileOrderAfterSaleVO afterSaleVO);

    /**
     * 售后能力 - 查询已经确认支付结果的支付记录列表
     * @param headers HttpHeaders信息
     * @param idVO 接口参数
     * @return 查询结果
     */
    Wrapper<List<OrderAfterSalePaymentDetailVO>> findAfterSaleOrderPayments(HttpHeaders headers, OrderIdVO idVO);

    /**
     * “店铺会员” - 查询平台账户余额类型是否启用
     * @param headers HttpHeaders信息
     * @return 查询结果
     */
    Wrapper<OrderRuleVO> findPlatformBalanceTypeStatus(HttpHeaders headers);
}
